//
//  HMEmticon.swift
//  Weibo22
//
//  Created by Apple on 16/12/10.
//  Copyright © 2016年 Apple. All rights reserved.
//

import UIKit
//  表情模型
class HMEmoticon: NSObject, NSCoding {
    //  表情描述(用于发送给新浪微博使用的字符串)
    var chs: String?
    //  图片名
    var png: String?
    //  表情类型 0: 图片表情, 1: emoji表情
    var type: String?
    //  emoji对应的16进制字符串
    var code: String?
    
    //  图片全路径
    var path: String?
    //  图片对应的文件夹名字
    var folderName: String?
    
    //  重写init构造函数
    override init() {
        super.init()
    }
    
    //  归档
    func encode(with aCoder: NSCoder) {
        aCoder.encode(chs, forKey: "chs")
        aCoder.encode(png, forKey: "png")
        aCoder.encode(type, forKey: "type")
        aCoder.encode(code, forKey: "code")
        aCoder.encode(path, forKey: "path")
        aCoder.encode(folderName, forKey: "folderName")
    }
    
    //  解档
    required init?(coder aDecoder: NSCoder) {
        chs = aDecoder.decodeObject(forKey: "chs") as? String
        png = aDecoder.decodeObject(forKey: "png") as? String
        type = aDecoder.decodeObject(forKey: "type") as? String
        code = aDecoder.decodeObject(forKey: "code") as? String
        path = aDecoder.decodeObject(forKey: "path") as? String
        folderName = aDecoder.decodeObject(forKey: "folderName") as? String
        
//        print(path)
//        
//        print(HMEmoticonTools.sharedTools.emoticonBundle.bundlePath)

        //  解档的时候显示不出来图片是因为保存图的路径和我们运行起来的图片路径不一样
        
        //  解决办法: 
        
        //  -- 获取运行的表情bundle对象
        //  -- 获取图片对应文件夹名字的路径
        //  -- 文件夹名字的路径获取到以后再拼接图片的名字就可以了
        
        if type == "0" {
            //  只有图片表情需要拼接图片的路径,emoji是文本不需要
            let folderNamePath = HMEmoticonTools.sharedTools.emoticonBundle.path(forResource: folderName, ofType: nil)
            let imagePath = folderNamePath! + "/" + png!
            //  重写设置图片的全路径
            path = imagePath
        }
 
        
        
    }
    
    
}
